package com.qf.mvc2203.ex;

import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@RestControllerAdvice  // 代表当前的统一异常处理器要返回的是数据而不是页面   只能有一个ControllerAdvice
public class MyRestExHandler {
    @ExceptionHandler(UserException.class)
    public Map<String,String> userExhandler(UserException e){

        System.out.println(e);

        final HashMap<String, String> map = new HashMap<>();

        map.put("code",e.getCode());  // 自定义异常编码
        map.put("msg",e.getMsg());  // 异常的消息
        map.put("date",new Date().toString());  // 其他要返回的字段可以在map中扩展

        return map;

    }


    @ExceptionHandler(Exception.class)
    public Map<String,String> exhandler(Exception e){

        System.out.println(e);

        final HashMap<String, String> map = new HashMap<>();

        map.put("code","-1000");  // 通用异常编码
        map.put("msg","服务器有故障");  // 异常的消息
        map.put("date",new Date().toString());  // 其他要返回的字段可以在map中扩展

        return map;

    }
}
